Skip to content

fix(telemetry): drop web opt-out toggle, document CLI opt-out in README#65

Merged
lukeocodes merged 1 commit intomainfrom
feat/telemetry
May 8, 2026
Merged

fix(telemetry): drop web opt-out toggle, document CLI opt-out in README#65
lukeocodes merged 1 commit intomainfrom
feat/telemetry

Conversation

@lukeocodes
Copy link
Copy Markdown
Member

Summary

Follow-up to #59. Three small fixes:

  1. Drop the web footer toggle on cli.deepgram.com. The marketing site's Sentry init is non-opt-outable error/uptime monitoring — same model as every other public Deepgram web property. The toggle implied the visitor had agency over it, which they don't.
  2. Drop the localStorage.dg_telemetry gate in web/sentry.client.config.ts. Without the toggle UI it was dead code, but it also let a power user disable site error monitoring via DevTools, which is not the intent. Sentry init is now unconditional for site visitors.
  3. Document CLI opt-out in the main README. The three paths (dg config set telemetry.enabled false, DEEPCTL_TELEMETRY_DISABLED=1, DEEPCTL_TELEMETRY_DSN) were only discoverable via --help or source code. Now they live in a ## Telemetry section right after ## Configuration with what's collected, what's scrubbed, and where it lands.

Why two telemetry surfaces, one opt-out story

Surface Runs where Opt-out
cli.deepgram.com Sentry Visitor's browser, our marketing site None — site error monitoring, owned by us
deepctl Sentry User's local machine, our installed binary Three documented paths

The CLI phones home from the user's machine on user-side stack traces, so opt-out is mandatory and has to be discoverable. The website Sentry catches our own bugs in our own code on our own deployed site. Different consent model, different surface.

Test plan

  • web/sentry.client.config.ts — Sentry init runs unconditionally; no localStorage reads
  • web/src/pages/index.astro — footer is just the copyright line; grep for dg-tel / dg_telemetry / Telemetry: returns nothing
  • README.md — new ## Telemetry section between ## Configuration and ## Development

Related

The web toggle gated only the marketing site's own Sentry init via
localStorage — it could never affect the locally-installed CLI's
telemetry, since they run in different processes on different machines.
Removing it (and the now-dead localStorage check) so Sentry init on
cli.deepgram.com is unconditional for visitors.

Documenting all three CLI opt-out paths in the main README only:

- dg config set telemetry.enabled false  (persistent)
- DEEPCTL_TELEMETRY_DISABLED=1           (one-shot / CI)
- DEEPCTL_TELEMETRY_DSN                  (fork / self-hosted override)

The --help footer keeps pointing at the config command for in-terminal
discoverability.
@lukeocodes lukeocodes merged commit 12c2362 into main May 8, 2026
38 checks passed
@lukeocodes lukeocodes deleted the feat/telemetry branch May 8, 2026 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant